package iterator;

/**
 * @Author: Ma JiBin
 * @Email: 1423553596@qq.com
 * @Date: 2018/9/12 11:39
 * @Description: 获取IMap迭代器类
 */
public class IMapRepository implements Container {
    private IMap iMap;

    public IMapRepository(IMap iMap) {
        this.iMap = iMap;
    }

    /**
     * 获取迭代器对象方法
     *
     * @return 实现Iterator接口的对象
     */
    @Override
    public Iterator getIterator() {
        return new IMapIterator();
    }

    /**
     * IMap迭代器类
     */
    private class IMapIterator implements Iterator{
        /**
         * 判断是否有下一个
         *
         * @return boolean类型值
         */
        @Override
        public boolean hasNext() {
            return iMap.hasNext();
        }

        /**
         * 返回下一个对象
         *
         * @return Object类型
         */
        @Override
        public Object next() {
            return iMap.next();
        }
    }
}
